Batch processing is typically a highly involved form of computer processing conducted at an enterprise level. In batch processing a set of tasks, otherwise referred to as jobs are executed automatically via a scheduling system, such that the tasks run at predetermined times. In large enterprises, in which each task/job is conducted on a frequent basis, such as daily or the like, batch processing may occur continuously (i.e., a 24/7 operation).
The complexity of such batch processing makes it difficult to assess which databases and, more specifically, which tables and/or views within the databases are impacted by the batch processes (i.e., the specific tasks/jobs). In addition to assessing which databases, including or views are impacted by batch processes, it also equally difficult to determine which actions are being taken on an identified database, table and/or view. For example, assessing whether a database, table and/or view is used for a read-only operation, a modification operation (i.e., write to, delete) or the like. Additionally, in large enterprises in which the batch processing operations are highly involved, the databases, table and or views relied upon by the tasks/jobs have a tendency to change frequently and/or change in terms of the activities associated with the databases, tables and/or views.
If the user/enterprise is unable to identify which databases, tables and/or views are used by batch processing and the activities associated therewith it poses problems to ancillary operations. For example, database administrators or like need to know when the database is being used and for how long so that database maintenance can be scheduled and performed during those periods of time in which the database is not in use (i.e., without impacting the execution of the batch processing operations).
In other instances, it is imperative for batch processing entities to be notified, when a delay in database maintenance has occurred and the conditions of the delay (e.g., what tables/data has undergone maintenance and/or what tables/data still require maintenance), so that the impact of such a delay on the batch processing operations can be assessed and actions taken to mitigate downtime and the like.
Therefore, a need exists to develop systems, methods and the like for identifying which databases, including table, views and the like are impacted by which batch processing tasks and the nature of the activities performed on the databases, tables, views and the like (e.g., which databases, tables, views are modified, which databases, tables, views are read from (and not modified) and the like). Such systems, methods and the like should be able to identify databases, tables, views and the like used in batch processing on an on-demand basis, such that as batch processing tasks evolve over time and the databases, tables, views and the activities associated therewith change the systems and methods are able to readily identify such changes. Moreover, a need exists to provide such information to database maintenance scheduling entities, such that maintenance on databases can be performed without adversely affecting batch processing execution. Conversely, when delays occur in database maintenance, a need exists to notify batch processing entities as to which are tasks/jobs are impacted by the delays and degree to which the delay impacts the tasks/jobs.